package com.szit.test.biz;

import com.szit.test.entity.PageIndexer;
import com.szit.test.entity.Sale;

import java.util.List;

/**
 * 教师业务逻辑层接口
 *
 * @author 勇哥
 * @version 1.0 2025-05-15
 */
public interface SaleBiz {
    /**
     * 添加教师数据
     *
     * @param t 教师实体对象
     * @return 返回是否添加成功的状态：1添加成功，0添加失败，-1主键重复
     */
    int insert(Sale t);

    /**
     * 修改教师数据
     *
     * @param t 教师实体对象
     * @return 返回是否修改成功的状态：1修改成功，0修改失败，-1没找到教师
     */
    int update(Sale t);

    /**
     * 删除教师数据
     *
     * @param id 教师编号
     * @return 返回是否删除成功的状态：1删除成功，0删除失败，-1没找到教师
     */
    int delete(int id);

    /**
     * 获取所有教师信息
     *
     * @return 返回教师实体集合
     */
    List<Sale> list();

    /**
     * 根据教师编号获取教师信息
     *
     * @param id 教师编号
     * @return 返回教师实体对象
     */
    Sale search(int id);

    /**
     * 分页显示教师信息
     *
     * @param page 分页器
     * @return 返回指定页码的数据
     */
    List<Sale> searchByPage(PageIndexer page);

    /**
     * 根据多条件查询教师信息
     *
     * @param t 学生实体：包含教师编号和姓名
     * @param sex 性别
     * @return 返回教师实体集合
     */
    List<Sale> search(Sale t, String sex);


    /**
     * 根据多条件查询教师信息进行分页
     *
     * @param t 教师实体：包含教师编号和姓名
     * @param sex 性别
     * @param page 分页实体对象
     * @return 返回教师实体集合
     */
    List<Sale> searchByPage(Sale t, String sex, PageIndexer page);
}
